Public Class frm_RecordVacacional
    Public dtt_Data As DataTable

    Private Sub frm_RecordVacacional_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim dtt_ODatosGenerales As DataTable
        Dim dtt_DatosGenerales, dtt_SaldoVacacionales, dtt_ProyeccionVacaciones, dtt_HistoricoVacaciones As New DataTable
        Dim str_Vendors, ls_vendor, ls_query_datosgenerales, ls_query_saldovacacionales, ls_query_proyeccionesvacacionales, ls_query_historicovacaciones As String
        Dim i, x, li_ii As Integer
        Dim myReport As New crp_RecordVacacional
        Dim testResult As Double

        li_ii = 1

        If dtt_Data.Rows.Count = 1 Then
            str_Vendors = "("
            str_Vendors = str_Vendors & "'" & dtt_Data.Rows(i)("VENDOR").ToString & "'"
            str_Vendors = str_Vendors & ")"
            ls_query_datosgenerales = Armar_QDatosGenerales(str_Vendors)
            ls_query_saldovacacionales = Armar_QSaldoVacacionales(str_Vendors) & " order by periodo desc"
            ls_query_proyeccionesvacacionales = Armar_QProyeccionesVacacionales(str_Vendors) & " order by periodo desc"
            ls_query_historicovacaciones = Armar_QHistoricoVacaciones(str_Vendors) & " order by vendor, periodo desc, secuencia desc"
        Else
            For i = 0 To dtt_Data.Rows.Count - 1
                If li_ii = 1 Then str_Vendors = "("

                If li_ii = 1 Then
                    str_Vendors = str_Vendors & "'" + dtt_Data.Rows(i)("VENDOR").ToString + "'"
                Else
                    str_Vendors = str_Vendors & ",'" & dtt_Data.Rows(i)("VENDOR").ToString & "'"
                End If

                If i > 0 Then
                    testResult = li_ii Mod 1000
                    If testResult = 0 And i < dtt_Data.Rows.Count Then
                        str_Vendors = str_Vendors & ")"
                        ls_query_datosgenerales = ls_query_datosgenerales & Armar_QDatosGenerales(str_Vendors) & " UNION "
                        ls_query_saldovacacionales = ls_query_saldovacacionales & Armar_QSaldoVacacionales(str_Vendors) & " UNION "
                        ls_query_proyeccionesvacacionales = ls_query_proyeccionesvacacionales & Armar_QProyeccionesVacacionales(str_Vendors) & " UNION "
                        ls_query_historicovacaciones = ls_query_historicovacaciones & Armar_QHistoricoVacaciones(str_Vendors) & " UNION "
                        li_ii = 1
                        Continue For
                    End If
                End If
                
                li_ii = li_ii + 1
            Next

            str_Vendors = str_Vendors & ")"
            ls_query_datosgenerales = ls_query_datosgenerales & Armar_QDatosGenerales(str_Vendors)
            ls_query_saldovacacionales = ls_query_saldovacacionales & Armar_QSaldoVacacionales(str_Vendors) & " order by periodo desc"
            ls_query_proyeccionesvacacionales = ls_query_proyeccionesvacacionales & Armar_QProyeccionesVacacionales(str_Vendors) & " order by periodo desc"
            ls_query_historicovacaciones = ls_query_historicovacaciones & Armar_QHistoricoVacaciones(str_Vendors) & " order by vendor, periodo desc, secuencia desc"
        End If

        ''dtt_ODatosGenerales = ObtenerDatosGenerales("(" & "'" & "0283126" & "'" & ")")
        dtt_ODatosGenerales = ObtenerDatosGenerales(ls_query_datosgenerales)
        dtt_SaldoVacacionales = ObtenerSaldoVacacionales(ls_query_saldovacacionales)
        dtt_ProyeccionVacaciones = ObtenerProyeccionesVacacionales(ls_query_proyeccionesvacacionales)
        dtt_HistoricoVacaciones = ObtenerHistoricoVacaciones(ls_query_historicovacaciones)


        'For i = 0 To dtt_ODatosGenerales.Rows.Count - 1
        '    'dtt_SaldoVacacionales.Rows.Add()
        '    'dtt_SaldoVacacionales = ObtenerSaldoVacacionales(dtt_ODatosGenerales.Rows(i)("vendor").ToString)
        '    ls_query_saldovacacionales = Armar_QSaldoVacacionales(dtt_ODatosGenerales.Rows(i)("vendor").ToString) & " order by periodo desc"
        '    dtt_SaldoVacacionales = ObtenerSaldoVacacionales(ls_query_saldovacacionales)

        '    'If dtt_ODatosGenerales.Rows(i)("flagvacacionesespeciales").ToString = "N" Then
        '    'dtt_SaldoVacacionales.Clear()
        '    'dtt_SaldoVacacionales.Rows.Add()
        '    'dtt_SaldoVacacionales = ObtenerDRSaldoVacacionales(dtt_ODatosGenerales.Rows(i)("vendor").ToString)
        '    '    dtt_SaldoVacacionales = ObtenerSaldoVacacionales(dtt_ODatosGenerales.Rows(i)("vendor").ToString)
        '    'End If

        '    'dtt_SaldoVacacionales = ObtenerDRSaldoVacacionales(dtt_ODatosGenerales.Rows(i)("vendor").ToString)

        '    'dtt_ProyeccionVacaciones.Rows.Add()
        '    'dtt_ProyeccionVacaciones = ObtenerProyeccionesVacacionales(dtt_ODatosGenerales.Rows(i)("vendor").ToString)
        '    ls_query_proyeccionesvacacionales = Armar_QProyeccionesVacacionales(dtt_ODatosGenerales.Rows(i)("vendor").ToString) & " order by periodo desc"
        '    dtt_ProyeccionVacaciones = ObtenerProyeccionesVacacionales(ls_query_proyeccionesvacacionales)

        '    '    dtt_HistoricoVacaciones.Rows.Add()
        '    'dtt_HistoricoVacaciones = ObtenerHistoricoVacaciones(dtt_ODatosGenerales.Rows(i)("vendor").ToString)
        '    ls_query_historicovacaciones = Armar_QHistoricoVacaciones(dtt_ODatosGenerales.Rows(i)("vendor").ToString) & " order by vendor, periodo desc, secuencia desc"
        '    dtt_HistoricoVacaciones = ObtenerHistoricoVacaciones(ls_query_historicovacaciones)
        'Next

        'For i = 0 To dtt_Data.Rows.Count - 1
        '    ls_vendor = dtt_Data.Rows(i)("VENDOR").ToString

        '    'If dtt_ODatosGenerales.Rows.Count > 0 Then dtt_ODatosGenerales.Rows.Add()

        '    dtt_ODatosGenerales = ObtenerDatosGenerales(ls_vendor)

        '    If dtt_ODatosGenerales.Rows.Count > 0 Then
        '        dtt_SaldoVacacionales.Rows.Add()
        '        dtt_SaldoVacacionales = ObtenerSaldoVacacionales(ls_vendor)

        '        'If dtt_ODatosGenerales.Rows(i)("flagvacacionesespeciales").ToString = "N" Then
        '        'dtt_SaldoVacacionales.Clear()
        '        'dtt_SaldoVacacionales.Rows.Add()
        '        'dtt_SaldoVacacionales = ObtenerDRSaldoVacacionales(dtt_ODatosGenerales.Rows(i)("vendor").ToString)
        '        '    dtt_SaldoVacacionales = ObtenerSaldoVacacionales(dtt_ODatosGenerales.Rows(i)("vendor").ToString)
        '        'End If

        '        'dtt_SaldoVacacionales = ObtenerDRSaldoVacacionales(dtt_ODatosGenerales.Rows(i)("vendor").ToString)

        '        dtt_ProyeccionVacaciones.Rows.Add()
        '        dtt_ProyeccionVacaciones = ObtenerProyeccionesVacacionales(ls_vendor)

        '        dtt_HistoricoVacaciones.Rows.Add()
        '        dtt_HistoricoVacaciones = ObtenerHistoricoVacaciones(ls_vendor)

        '        'myReport.SetDataSource(dtt_ODatosGenerales)
        '        'myReport.OpenSubreport("crp_SaldoVacacionales.rpt").SetDataSource(dtt_SaldoVacacionales)
        '        'myReport.OpenSubreport("crp_ProyeccionVacaciones.rpt").SetDataSource(dtt_ProyeccionVacaciones)
        '        'myReport.OpenSubreport("crp_HistoricoVacaciones.rpt").SetDataSource(dtt_HistoricoVacaciones)
        '    End If
        'Next

        myReport.SetDataSource(dtt_ODatosGenerales)
        myReport.OpenSubreport("crp_SaldoVacacionales.rpt").SetDataSource(dtt_SaldoVacacionales)
        myReport.OpenSubreport("crp_ProyeccionVacaciones.rpt").SetDataSource(dtt_ProyeccionVacaciones)
        myReport.OpenSubreport("crp_HistoricoVacaciones.rpt").SetDataSource(dtt_HistoricoVacaciones)
        Me.crv_RecordVacacional.ReportSource = myReport
        Me.WindowState = FormWindowState.Maximized
    End Sub
End Class